1. Field of the Invention
The invention relates to a multiport semiconductor memory device having a RAM port which is accessible in a random sequence and a SAM port which is accessible only in a serial sequence, and particularly to a dual port semiconductor memory device having a RAM port including a DRAM (dynamic random access memory) having a shared sense amplifier structure.
2. Description of the Related Art
In recent years, various technical developments have been rapidly progressed in a field of image processing technology. Such developments include colored display of CRTs (cathode ray tubes) for personal computers, three dimensional display of images in CAD systems (computer aided design systems), enlargement and reduction of images, multi-window display of screens and improvement of image resolutions.
Under these circumstances, image signals are converted into digital signals for processing at a high accuracy. For storing digital image signals, video memories have been developed for various image processing applications. Among these video memories, a video RAM (random access memory) is known as a memory optimized for storing digital image data. The vide RAM has a random access port which is accessible in a random sequence and a serial access port which is accessible in a serial sequence.
FIG. 7 shows a construction of an image processing system using a video RAM. In FIG. 7, the image processing system includes a video RAM 1 for storing image data, a central processing unit (CPU) 5 which accesses video RAM 1 through a data bus 6 in a random sequence, a CRT controller 7 which reads data from a video RAM 1 in a serial sequence, and a CRT display 8 which displays the data read under the control of CRT controller 7 on a screen.
Video RAM 1 includes a dynamic random access memory 2 having dynamic memory cells arranged in rows and columns, a serial access memory 4 having a memory capacity sufficient for storing the data of memory cells in one row of dynamic random access memory 2, and a data transferring bus 3 for transferring data between dynamic random access memory 2 and serial access memory 4.
Dynamic random access memory 2 is accessed through data bus 6 by CPU 5 in a random sequence. Serial access memory 4 is controlled by CRT controller 7 to serially supply stored data in response to a serial clock signal which is externally applied thereto. Generally, a portion including dynamic random access memory 2 is called a RAM port, because it is accessed in a random sequence. A portion including serial access memory 4 is called a SAM port, because it is accessible in a serial sequence.
The memory cells in one row of dynamic random access memory 2 store the data to be displayed on one scanning line in the screen of CRT display 8. Thus, the memory cells in one row of dynamic random access memory 2 correspond to the one scanning line in CRT display 8. The data of the memory cells in one row of dynamic random access memory 2 is transmitted through data transferring bus 3 to serial access memory 4. Serial access memory 4 is responsive to externally applied serial clock signal to have the storage data serially read therefrom and displayed on the screen of CRT display 8 under the control of CRT controller 7.
While the data is being serially read from serial access memory 4, CPU 5 can access dynamic random access memory 2 through data bus 6. Therefore, even while the image data is being displayed on the screen of CRT display 8, CPU 5 can access video RAM 1 to carry out reading of the data, a processing of the read data and writing of the processed data. Therefore, in parallel with the display of the image data on the screen of CRT display 8, CPU 5 can process the image data, so that high-speed processing and displaying of the image data can be carried out.
Generally, a memory having a plurality of access ports is called a multiport memory. The video RAM shown in FIG. 7 has the two ports, i.e., RAM port accessed by CPU 5 and SAM port accessed by CRT controller 7, and thus is called a dual port memory. In the SAM port, data is read from serial access memory 4 in response to an externally applied serial clock signal. The access to the RAM port generally requires toggle of signals *RAS (row address strobe signal) and *CAS (column address strobe signal), so that the SAM port can be accessed at a higher speed than the RAM port.
The dual port RAM has the RAM port and the SAM port which can be independently accessed, so that it can achieve an image processing system which processes the image data at a higher speed than a conventional RAM having only one port, because, in the conventional RAM having only one port, CPU 5 cannot access the RAM and thus remains in a waiting state while the data is being read to the CRT display therefrom.
FIG. 8 shows a specific construction of the conventional video RAM. In FIG. 8, video RAM 1 is comprised of the RAM port including dynamic random access memory 2 (see FIG. 7) and the SAM port including serial access memory 4 (see FIG. 7).
The RAM port includes a memory cell array 9 in which dynamic memory cells are arranged in a matrix of rows and columns, an address buffer 11 which receives address signal bits A0-Aj applied to an address input terminal 10 and generates an internal address signal, a row address decoder 12 which decodes the internal row address signal supplied from address buffer 11 to select a corresponding row in memory cell array 9, a column address decoder 13 which decodes internal column address signal supplied from address buffer 11 to select a corresponding column in memory cell array 9 and connect the selected column to an I/O bus 16.
A RAM IO terminal 14 has a plurality of pin terminals, and a RAM input/output data WIO is formed of multiple bits. Memory cell array 9 is divided into blocks correspondingly to each RAM input/output data bit. Row address decoder 12 selects one row in each block of memory cell array 9, and column address decoder 13 selects one column in each block of memory cell array 9. The RAM port further includes a sense amplifier 17 for sensing and amplifying the data of the memory cells in the selected row in memory cell array 9, and I/O bus 16 for connecting the column selected by column address decoder 13 to a data input/output buffer 15. Data input/output buffer 15 produces, in the data writing operation mode, internal write data from data WIOi supplied to RAM IO terminal 14 and transmits the same to I/O bus 16. In the data reading operation, data input/output buffer 15 produces external read data WIOi from internal read data on I/O bus 16 and transmits the same to terminal 14.
The SAM port includes a serial register 18 having a memory capacity for storing the data for one row in memory cell array 9, and a serial selector 21 for sequentially connecting unit registers included in serial register 18 to a serial data input/output buffer 20. Serial data input/output buffer 20 produces, in the data writing operation, internal write data from serial data SIOi supplied to SAM IO terminal 19 and transmits the same to serial register 18. In the data reading operation, serial data input/output buffer 20 produces external data from data read from serial register 18 onto SAM IO terminal 19. Serial register 18 is divided into blocks, similarly to the block structure of memory cell array 9, which correspond to the pin terminals of SAM IO port 19, respectively.
Serial selector 21 receives an internal column address from address buffer 11 to designate a first address in serial register 18, and sequentially connects the data registers included in serial register 18 to serial data input/output buffer 20 in accordance with a serial shift clock signal SC generated by a timing generator 22.
Data transferring bus 3 is disposed between memory cell array 9 and serial register 18. Data transferring bus 3 is responsive to a transfer instructing signal supplied from timing generator 22 and bidirectionally transfers the data between memory cell array 9 and serial register 18.
Timing generator 22 is shown in FIG. 8 controlling only the data transferring operation of data transferring bus 3, but actually generates various internal control signals in accordance with externally applied control signals SC, DSF, *SE, *WB/*WE, *DT/*OE, *CAS and *RAS.
Signal *RAS provides a timing for generating an internal row address signal by address buffer 11, and activates the RAM port. Signal *RAS (row address strobe signal) is used also as a reference signal in determining the operation mode of the SAM port because it is determined in accordance with the combination of the states of the respective control signals at the falling edges of signal *RAS.
Signal *CAS is a column address strobe signal for providing a timing at which address buffer 11 generates the internal column address signal. Signal *CAS is used also as a timing signal for setting the first address to serial selector 19.
Signal *DT/*OE sets a data output mode in RAM port, and provides a timing for activating the data transferring operation of data transferring bus 3 and for transferring the data.
Signal *WB/*WE sets the RAM port at the data writing mode, and also sets a write per bit operation mode. This write per bit operation is an operation mode, in which intended pin terminals are masked against the data writing to memory cell array 9 from RAM IO terminal 14.
Signal *SE is a serial enable signal for enabling the SAM port.
Signal DSF is a signal for setting a special function of the video RAM, and indicates that the special function is to be set in the video RAM 1 when signal DSF is activated.
Signal SC is a serial clock signal, and provides a timing at which serial selector 21 connects the data register included in serial register 18 to serial data input/output buffer 21.
The access to the RAM port is carried out similarly to a conventional DRAM. Specifically, in response to signals *RAS and *CAS, row and column are selected in memory cell array 9, and the selected memory cells' data is sensed and amplified by sense amplifier 17. The read mode and write mode for the data are selectively set by signals *DT/*OE and *WB/*WE. If signal *DT/*OE is in an active state of "L", the RAM port goes to the data output mode. If signal *WB/*WE is in the active state of "L", RAM port goes to the data write mode.
Data input mode and data output mode of the SAM port is determined by the data transferring cycle which was carried out in the last cycle. When the data was transferred from the RAM port to the SAM port, i.e., from memory cell array 9 to serial register 18, the SAM port goes to the data output mode. When the data is transferred from the SAM port to the RAM port, the SAM port goes to the data input mode. Now, the read transfer cycle for transferring the data from the RAM port to the SAM port will be described below with reference to an operation waveform diagram of FIG. 9.
The read transfer cycle is designated by setting both signals *DT/*OE and DSF at "L" and setting signal *WB/*WE at "H" at the falling edge of signal *RAS. In this read transfer cycle, the RAM port entering the memory cycle by signal *RAS carries out the selection of one row in memory cell array 9 and the sense/amplification of the data of the selected memory cells, and thereafter the data of the selected memory cells are transferred through data transferring bus 3 to serial register 18 in response to the rise of signal *DT/*OE.
That is, in response to the fall of signal *RAS, address signal bits A0-Aj applied to address input terminal 10 are strobed and latched as a row address signal indicating a row address AX. Row address decoder 12 decodes the applied internal row address signal to select the row corresponding to row address AX in memory cell array 9. Then, sense amplifier 17 is activated, and the data of the memory cells connected to the selected row are amplified and latched.
When signal *CAS falls, address signal bits A0-Aj, which have been applied before this fall, are latched as the column address signal indicating a column address AY. Column address AY also indicates a position of the register to be selected first in serial register 18. Serial selector 21 latches an address AY+1. The register in serial register 18 designated by column address AY is connected to serial data input/output buffer 20.
When signal *DT/*OE rises to "H" thereafter, timing generator 22 supplies a read transfer instructing signal RT. Data transferring bus 3 responds to read transfer instructing signal RT by simultaneously transferring the data of the memory cells on one row designated by address AX in the memory cell array 9 to serial register 18. Simultaneously with this data transfer, the data of the memory cell in memory cell array 9 designated by addresses AX and AY is held in serial data input/output buffer 20 through serial register 18.
After the rise of signal *DT/*OE to "H", the data which has been held in serial data input/output buffer 20, is supplied to the SAM IO terminal 19 in response to first applied serial clock signal SC.
Serial register 18 has the internal registers sequentially selected by serial selector 21 in response to serial clock signal SC to be connected to serial data input/output buffer 20. That is, the data of the memory cell designated by addresses AX and AY is supplied from input/output buffer 20, and subsequently the data at the address AY+1 is transmitted from serial register 18 to serial data input/output buffer 20 to be latched thereat. At this time, serial selector 21 latches an address AY+2.
When the serial clock signal SC is second applied thereafter, serial data input/output buffer 20 respectively supplies the data of address AY+1 held therein to the SAM IO terminal 19, and then latches the data of address AY+2 supplied from serial register 18.
The foregoing operation is repeated, so that the data of addresses AY+2, AY+3 . . . in serial register 18 is sequentially supplied to SAM IO terminal 19 upon each application of serial clock signal SC. The address of serial selector 21 is incremented one by one in accordance with serial clock signals SC.
Now, a write transfer cycle operation for transferring the data from serial register 18 to memory cell array 9 will be described with reference to an operation waveform diagram of FIG. 10. The write transfer cycle is designated by setting signals *WB/*WE, *DT/*OE and DSF at "L" and setting serial enable signal *SE at "H, at the falling edge of signal *RAS. In response to the fall of signal *RAS, address signal bits A0-Aj are latched as a row address signal for designating a row address ax in memory cell array 9, and row address decoder 12 selects corresponding one row in memory cell array 9. Then, in response to the fall of signal *CAS, address signal bits A0-Aj are latched as the column address signal indicating column address AY. In this operation, serial register 18 has already stored the valid data applied through serial data input/output buffer 20. In response to the rise of signal *DT/*OE, timing generator 22 generates write transfer instructing signal WT for transferring the data from serial register 18 to memory cell array 9, and write transfer instructing signal WT is applied to data transferring bus 3. Data transferring bus 3, in response to write transfer instructing signal WT, transfers the data stored in serial register 18 to one row on memory cell array 9 designated by the row address ax. Column address ay which is supplied in this time is held by serial selector 21 as a start address in the next serial write operation. Thereafter, upon each application of serial clock signal SC, data supplied to SAM IO terminal 19 is sequentially written in serial register 18, using address ay as a first or start address.
As described above, the read and write of the SAM port is switched by conducting the read transfer cycle and the write transfer cycle. Signal *SE is a signal for controlling the read and write of the SAM port. When signal *SE is in the inactive state of "H", the data is not written in serial register 18. In an operation waveform diagram of FIG. 10, when signal *SE is "H" at the falling edge of signal *RAS, a pseudo write transfer cycle is carried out. In this pseudo write transfer cycle, the operation similar to the write transfer cycle is carried out, but the data stored in serial register 18 is not transferred to memory cell array 9. The pseudo write transfer cycle is conducted for switching the SAM port from the data output mode to the data input mode. Generally, serial clock signal SC is not generated during the data transfer cycle operation in which data is transferred from serial register 18 to memory cell array 9.
In a processing of the image information at a high definition and high resolution, data to be processed has a remarkably large number of bits, and thus a large memory capacity is required for the dual port RAM (video RAM). The DRAM having the shared sense amplifier structure may be used as the DRAM forming the RAM port in order to achieve the large memory capacity as well as a small chip area and a low current consumption.
FIG. 11 shows a construction of a video RAM in which the DRAM of the shared sense amplifier structure is applied to the RAM port. Referring to FIG. 11, memory cell array 9 shown in FIG. 8 is divided into two memory cell arrays 9l and 9u. Between memory cell arrays 9l and 9u, there are provided a shared sense amplifier circuit 23 and column address decoder 13 commonly used by both of the arrays 9l and 9u. Shared sense amplifier circuit 23 includes sense amplifiers, each of which is normally connected to the column lines (bit line pairs) in memory cell arrays 9l and 9u. In operation, each sense amplifier is connected only to the memory cell array containing the selected row, and is isolated from the memory cell array which does not contain the selected row. Column address decoder 13 and I/O bus 16 are similar to those shown in FIG. 8. After the sense and amplification of the selected memory cells' data by shared sense amplifier circuit 23, column address decoder 13 selects and connects the corresponding column to I/O bus 16 in accordance with the column address signal supplied from address buffer 11.
A first serial register 24l and a second serial register 24u are provided corresponding to two memory cell arrays 9l and 9u, respectively. Serial selectors 21l and 21u set the first or start addresses of first and second serial registers 24l and 24u and also control the shifting operations thereof, respectively.
A data transferring bus 26l is disposed between memory cell array 9l and first serial register 24l. A data transferring bus 26u is disposed between memory cell array 9u and second serial register 24u.
Timing generator 22 is responsive to an array designating signal Ab (e.g., a highest bit in the row address) supplied from address buffer 11 to activate one of data transferring buses 26l and 26u (when the data transfer cycle is designated). A sense amplifier drive circuit 30 is provided in order to selectively connect each sense amplifier in shared sense amplifier circuit 23 to memory cell array 9l or 9u and to control the sensing operation of the same. Sense amplifier drive circuit 30 is responsive to the timing signal (generally, the internal of signal *RAS) supplied from timing generator 22 to generate a sense amplifier activating signal .phi.S, and is also responsive to array designating signal Ab and a control signal supplied from timing generator 22 to generate connection control signals SI(l) and SI(u) for controlling the connection between each sense amplifier in shared sense amplifier circuit 23 and memory cell arrays 9l and 9u.
According to the structure in which the sense amplifiers are commonly used by memory cell arrays 9u and 9l, the number of sense amplifiers can be reduced to a half as compared with the structure in which sense amplifiers are provided independently for each of memory cell arrays 9l and 9u, so that the area required for the sense amplifiers is reduced to a half, and the current consumption in the sensing operation is also reduced to a half. In this shared sense amplifier structure, the sense amplifiers are disposed between memory cell arrays 9l and 9u, so that the length of the bit lines in memory cell arrays 9l and 9u can be short, and thus a parasitic capacitance of the bit line can be reduced. Therefore, sufficient read voltages can be generated on the bit lines, and the stable sensing operation can be carried out at a high speed.
FIG. 12 shows a construction of a main part of the video RAM shown in FIG. 11. FIG. 12 shows only a part related to one shared sense amplifier 230, i.e., a part related to one column in each of memory cell arrays 9l and 9u.
In FIG. 12, memory cell array 9l includes bit lines 28a and 28b, word line WLl and a memory cell MC connected to word line WLl and bit line 28b. Bit lines 28a and 28b form a bit line pair to which memory cells in one column are connected. Word line WLl connects thereto memory cells in one row of memory cell array 9l. Serial register 24l includes a data register 240l which is provided corresponding to bit lines 28a and 28b of memory cell array 9l. Data transferring bus 26l includes a transfer gate 260l, which is responsive to a read transfer instructing signal RT1 and a write transfer instructing signal WT1 generated from timing generator 22 to transfer the data between data register 240l, and bit lines 28a and 28b.
Memory cell array 9u includes bit lines 29a and 29b, a word line WLu and memory cell MC connected to word line WLu and bit line 29b. Bit lines 28a and 28b form a pair to which memory cells in one column of memory cell array 9u are connected. Word line WLu connects thereto memory cells in one row of memory cell array 9u. Serial register 24u includes a data register 240u which is provided for bit lines 29a and 29b. Data transferring bus 26u includes a transfer gate 260u, which is responsive to a read transfer instructing signal RT2 and a write transfer instructing signal WT2 supplied from timing generator 22 to transfer the data between data register 240u, and bit lines 29a and 29b. Data registers 240l and 240u are provided corresponding to bit line pair 28a and 28b, and to bit line pair 29a and 29b, respectively. Serial registers 24l and 24u have storage capacities sufficient for storing the data of the memory cells in one row of memory cell arrays 9l and 9u, respectively.
Shared sense amplifier circuit 23 includes shared sense amplifier 230, which senses and amplifies a potential on a pair of bit lines 28a and 28b, or on a pair of bit lines 29a and 29b in response to sense amplifier activating signal .phi.S. Generally, shared sense amplifier 230 includes cross-coupled n-channel MOS transistors (insulating gate type field effect transistors) and cross coupled p-channel MOS transistors. In FIG. 12, shared sense amplifier 230 is shown being activated in response to one control signal .phi.S.
Shared sense amplifier circuit 23 further includes a connection control gate 32 which is responsive to a connection control signal SI(1) to isolate bit lines 28a and 28b from shared sense amplifier 230, and a connection control gate 33 which is responsive to a connection control signal SI(u) to isolate bit lines 29a and 29b from shared sense amplifier 230.
In shared sense amplifier circuit 23, a column selecting gate is provided for connecting the column (i.e., bit line pair), which is selected by column selecting signal supplied from column address decoder 13, to the I/O bus. In FIG. 12, however, the column selecting gate is not shown for the convenience of clarification of the figure.
Now, the data transferring operation of the video RAM of the shared sense amplifier structure shown in FIGS. 11 and 12 will be described with reference to an operation waveform diagram of FIG. 13. The read transfer cycle and write transfer cycle are designated in a manner similar to that already described with reference to FIGS. 9 and 10. It is assumed that word line WLl in memory cell array 9l is designated in the following description.
In response to the fall of signal *RAS, address buffer 11 applies array designating signal Ab to timing generator 22 and sense amplifier drive circuit 30. Sense amplifier drive circuit 30, in response to the timing control signal supplied from timing generator 22 and array designating signal Ab, sets connection control signal SI(1) at "H" and the connection control signal SI(u) at "L, so that the memory cell array 9l including the selected word line WLl is connected to shared sense amplifier 230 while memory cell array 9u is isolated from the same shared sense amplifier 230. Thereby, bit lines 28a and 28b are connected to shared sense amplifier 230 through the gate 32, and bit lines 29a and 29b are isolated from shared sense amplifier 230 by the gate 33. After the fall of signal *RAS, row address decoder 12 selects word line WLl, so that the data of memory cell MC is transmitted to bit line 28b. When the potential difference between bit lines 28a and 28b increases to a sufficient value, sense amplifier activating signal .phi.S is generated, and shared sense amplifier 230 senses and amplifies the data on bit lines 28a and 28b. Then, data BL(l) and *BL(l) on bit lines 28a and 28b have values corresponding to the data read from memory cell MC.
In memory cell array 9u, word line WLu is in an unselected state, so that data BL(u) and *BL(u) on bit lines 29a and 29b hold a precharged intermediate potential (Vcc/2).
Then, timing generator 22 generates the transfer instructing signal. In the read transfer cycle, read transfer instructing signal RT1 is generated in response to the signal Ab. In write transfer cycle, write transfer instructing signal WTl is generated in response to the signal Ab. Transfer gate 260l transfers the data between data register 240l and bit lines 28a and 28b.
Connection control signal SI(l) has the level further increased from "H" in the selected state. This is done for transmitting the potential level of "H" amplified by shared sense amplifier 230 to bit line 28a or 28b without a signal loss at the gate 32.
When signal *RAS rises to "H" and sense amplifier activating signal .phi.S falls to "L" after the data transfer is completed, connection control signals SI(l) and SI(u) cause bit lines 28a, 28b, 29a and 29b to be mutually connected through sense and latch nodes of sense amplifier 230, to be precharged and equalized to the intermediate potential, i.e., precharged potential by precharging/equalizing means (not shown).
When word line WLu is selected, memory cell array 9u is connected to shared sense amplifier 230, and subsequently has the data transferred to and from serial register 24u through transferring bus 26u.
As described above, the RAM port of the shared sense amplifier structure accomplishes the small occupied area and low power consumption. The write and read of the data to and from serial registers 24l and 24u are performed similarly to the video RAM already described with reference to FIG. 8. In this case, one of first serial register 24l and second serial register 24u supplies and receives the data to and from serial data input/output buffer 20 in accordance with a signal DBS (data buffer select) supplied to timing generator 22 (signal path for this operation is not shown in FIG. 11).
In the video RAM of the shared sense amplifier structure described above, the data is transferred only between the memory cell array including the selected row and the associated serial register. Memory cell array 9l can transfer the data only to and from first serial register 24l through data transferring bus 26l. Memory cell array 9u can transfer the data only to and from second serial register 24u through data transferring bus 26u. However, memory cell array 9l cannot transfer the data through data transferring bus 26u to and from second serial register 24u, and memory cell array 9u cannot transfer the data through data transferring bus 26l to and from first serial register 24l. In the video RAM of this shared sense amplifier structure, serial registers 24l and 24u can transfer the data only to and from restricted rows (e.g., rows for the upper or lower half region on the screen). Meanwhile, in the video RAM shown in FIG. 8, serial register 18 can transfer the data to and from an arbitrary row in memory cell array 9. Therefore, in the video RAM of the shared sense amplifier structure shown in FIG. 11, there may be a disadvantage that image data cannot be processed at a high speed in some applications.
For example, in such a case that the same data is to be written in memory cell arrays 9l and 9u through serial registers 24l and 26u for the initial setting of arrays 9l and 9u, a following operation is required. That is; double buffer select signal DBS designating which register is employs is used to write the same data in first and second serial registers 24l and 24u, and then the data is transferred between first serial register 24l and memory cell array 9l and between second serial register 24u and memory cell array 9u. For this reason, an unnecessary time period is required in the initial setting operation for writing the same data both in first and second serial registers 24u and 24l.
For example, in the construction shown in FIG. 8, if the initial setting data is written in serial register 18, it is then required only to sequentially apply the row selecting signal from row address decoder 12 to select each row in memory cell array 9 for transferring the data. For the reason described above, as compared with the time period for writing the initial setting data through serial register 18 in FIG. 8 in memory cell array 9, the time period required for writing the initial setting data in first and second serial registers 24u and 24l becomes longer. Also, signal DBS must be used.
If the data transferring path is fixed, as is done in the video RAM of the shared sense amplifier structure shown in FIG. 11, the data cannot be exchanged between memory cell arrays 9u and 9l, and thus a high speed processing of the image data cannot be flexibly performed in some image processing applications (e.g., when the same image is to be displayed on both the upper and lower half regions of the screen).